package com.gxuwz.dao;

import com.gxuwz.entity.Department;
import com.gxuwz.entity.Instructor;
import com.gxuwz.entity.vo.PageVo;
import com.gxuwz.result.PageInfo;

import java.util.List;

/**
 * @Description:实现辅导员相关记录信息操作接口
 */

public interface InstructorDao {
    
    /**
     * @Description:查询所有的辅导员记录信息
     * @Param:  [com.gxuwz.entity.Instructor, com.gxuwz.result.PageInfo]
     * @Return: com.gxuwz.entity.vo.PageVo
     */
    
    public PageVo selectInstructorAll(Instructor entity, PageInfo pageInfo);

    /**
     * @Description:通过辅导员编号查询一条辅导员记录信息
     * @Param:  [java.lang.String]
     * @Return: com.gxuwz.entity.Instructor
     */
    
    public Instructor selectInstructorByID(String depId);

    /**
     * @Description:插入一条辅导员记录信息
     * @Param:  [com.gxuwz.entity.Instructor]
     * @Return: int
     */
    
    public int insertInstructor(Instructor entity);

    /**
     * @Description:更新一条辅导员记录信息
     * @Param:  [com.gxuwz.entity.Instructor, java.lang.String]
     * @Return: int
     */
    
    public int updateInstructor(Instructor entity,String oldId);

    /**
     * @Description:通过辅导员编号删除辅导员记录信息
     * @Param:  [java.lang.String]
     * @Return: int
     */
    
    public int deleteInstructorById(String instId);

    /**
     * @Description:查询所有的辅导员记录编号
     * @Param:  []
     * @Return: java.util.List<java.lang.String>
     */
    
    List<String> selectInstructorIds();

    /**
     * @Description:通过二级学院编号查询所有的辅导员记录信息
     * @Param:  [java.lang.String]
     * @Return: java.util.List<com.gxuwz.entity.Department>
     */
    
    List<Department> selectInstructorByDepID(String depId);

    /**
     * @Description:通过辅导员编号查询对应的二级学院编号
     * @Param:  [java.lang.String]
     * @Return: java.lang.String
     */
    
    public String selectDepIDByInstID(String instID);

    List<String> selectInstructorIdsNoDel();
}
